home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 August: Technology Seed / August 1998 ADC Seed CD.toast / Mac OS 8.5b2 / allegro-b2-pseudo-SDK / PInterfaces / ATSLayoutTypes.p < prev    next >
Encoding:
Text File  |  1998-07-17  |  3.4 KB  |  107 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        ATSLayoutTypes.p
  3.  
  4.      Contains:    Apple Text Services layout public structures and constants.
  5.  
  6.      Version:    Technology:    Allegro
  7.                  Release:    Allego Seed, Use with 3.1 Universal Interfaces
  8.  
  9.      Copyright:    © 1994-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT ATSLayoutTypes;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __ATSLAYOUTTYPES__}
  28. {$SETC __ATSLAYOUTTYPES__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ATSLayoutTypesIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __MACTYPES__}
  35. {$I MacTypes.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __SFNTTYPES__}
  38. {$I SFNTTypes.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __SFNTLAYOUTTYPES__}
  41. {$I SFNTLayoutTypes.p}
  42. {$ENDC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN MAC68K}
  47. {$LibExport+}
  48.  
  49. { ----------------------------------------------------------------------------------------- }
  50. { CONSTANTS }
  51. { LineOptions flags }
  52.  
  53. CONST
  54.     kATSLineNoLayoutOptions        = $00000000;
  55.     kATSLineIsDisplayOnly        = $00000001;
  56.     kATSLineHasNoHangers        = $00000002;
  57.     kATSLineHasNoOpticalAlignment = $00000004;
  58.     kATSLineKeepSpacesOutOfMargin = $00000008;
  59.     kATSLineNoSpecialJustification = $00000010;
  60.     kATSLineLastNoJustification    = $00000020;
  61.  
  62. { Miscellaneous constants }
  63.     kATSExtendedQDScale            = 81920;                        {  fixed value of 1.25  }
  64.     kATSCondensedQDScale        = 52428;                        {  fixed value of approx. 0.8  }
  65.     kATSItalicQDSkew            = $00004000;                    {  fixed value of 0.25  }
  66.     kATSRadiansFactor            = 1144;                            {  fixed value of approx. pi/180 (0.0174560546875)  }
  67.     kATSNoTracking                = $80000000;                    {  negativeInfinity  }
  68.     kATSDeletedGlyphcode        = $FFFF;
  69.     kATSSelectToEnd                = $FFFFFFFF;
  70.     kATSOffsetToNoData            = $FFFFFFFF;
  71.  
  72. { --------------------------------------------------------------------------- }
  73. { TYPES }
  74. { --------------------------------------------------------------------------- }
  75.  
  76. TYPE
  77.     ATSLineLayoutOptions                = UInt32;
  78. {
  79.     The JustWidthDeltaEntryOverride structure specifies values for the grow and shrink case during
  80.     justification, both on the left and on the right. It also contains flags.  This particular structure
  81.     is used for passing justification overrides to LLC.  For further sfnt resource 'just' table
  82.     constants and structures, see SFNTLayoutTypes.h.
  83. }
  84.     ATSJustWidthDeltaEntryOverridePtr = ^ATSJustWidthDeltaEntryOverride;
  85.     ATSJustWidthDeltaEntryOverride = RECORD
  86.         beforeGrowLimit:        Fixed;                                    {  ems AW can grow by at most on LT  }
  87.         beforeShrinkLimit:        Fixed;                                    {  ems AW can shrink by at most on LT  }
  88.         afterGrowLimit:            Fixed;                                    {  ems AW can grow by at most on RB  }
  89.         afterShrinkLimit:        Fixed;                                    {  ems AW can shrink by at most on RB  }
  90.         growFlags:                JustificationFlags;                        {  flags controlling grow case  }
  91.         shrinkFlags:            JustificationFlags;                        {  flags controlling shrink case  }
  92.     END;
  93.  
  94. { The JustPriorityOverrides type is an array of 4 width delta records, one per priority level override. }
  95.     ATSJustPriorityWidthDeltaOverrides    = ARRAY [0..3] OF ATSJustWidthDeltaEntryOverride;
  96. { --------------------------------------------------------------------------- }
  97. {$ALIGN RESET}
  98. {$POP}
  99.  
  100. {$SETC UsingIncludes := ATSLayoutTypesIncludes}
  101.  
  102. {$ENDC} {__ATSLAYOUTTYPES__}
  103.  
  104. {$IFC NOT UsingIncludes}
  105.  END.
  106. {$ENDC}
  107.